home *** CD-ROM | disk | FTP | other *** search
/ Holt Researcher: American History / Holt Researcher: American History.iso / pc / modules / search.dxr / 00030_and-or popup.ls < prev    next >
Encoding:
Text File  |  2000-01-18  |  2.6 KB  |  117 lines

  1. property ancestor, pkAndOrSprite, pBankNumber, pIsComplete
  2.  
  3. on getBankNumber me
  4.   return pBankNumber
  5. end
  6.  
  7. on isComplete me
  8.   return pIsComplete
  9. end
  10.  
  11. on setComplete me, isComplete
  12.   pIsComplete = isComplete
  13. end
  14.  
  15. on new me, channelList, bankNumber, descendant
  16.   if objectp(descendant) then
  17.     ancestor = new(script("auto popup menu"), channelList, descendant)
  18.   else
  19.     ancestor = new(script("auto popup menu"), channelList, me)
  20.   end if
  21.   disable(ancestor)
  22.   pkAndOrSprite = 37
  23.   pBankNumber = bankNumber
  24.   pIsComplete = 0
  25.   return me
  26. end
  27.  
  28. on Inscope me
  29.   Inscope(ancestor)
  30.   if isdisabled(me) then
  31.     disable(me)
  32.   else
  33.     enable(me)
  34.   end if
  35. end
  36.  
  37. on enable me
  38.   enabledMenu = the number of member "and/or menu enabled"
  39.   set the memberNum of sprite the pBaseChannel of me to enabledMenu
  40.   enable(ancestor)
  41. end
  42.  
  43. on disable me
  44.   disabledMenu = the number of member "and/or menu disabled"
  45.   set the memberNum of sprite the pBaseChannel of me to disabledMenu
  46.   disable(ancestor)
  47. end
  48.  
  49. on clear me
  50.   pIsComplete = 0
  51.   disable(me)
  52.   clear(ancestor)
  53. end
  54.  
  55. on clone me, srcPopupObj
  56.   pIsComplete = isComplete(srcPopupObj)
  57.   clone(ancestor, srcPopupObj)
  58. end
  59.  
  60. on expand me
  61.   global gSearchObj
  62.   baseSpriteRect = the rect of sprite me.pBaseChannel
  63.   baseSpriteLoc = point(baseSpriteRect.left, baseSpriteRect.top)
  64.   set the loc of sprite pkAndOrSprite to baseSpriteLoc
  65.   me.pIsPopped = 1
  66.   setPoppedMenu(getMenuBankObj(gSearchObj), me)
  67.   updateStage()
  68. end
  69.  
  70. on contract me
  71.   global gSearchObj
  72.   if not pIsComplete then
  73.     disable(me)
  74.   end if
  75.   set the loc of sprite pkAndOrSprite to point(-9999, -9999)
  76.   popupMember = the memberNum of sprite pkAndOrSprite
  77.   member(popupMember).color = color(#paletteIndex, 255)
  78.   me.pIsPopped = 0
  79.   setPoppedMenu(getMenuBankObj(gSearchObj), 0)
  80.   updateStage()
  81. end
  82.  
  83. on rollOver me
  84.   mLine = the mouseLine
  85.   if mLine > 0 then
  86.     popupMember = the memberNum of sprite pkAndOrSprite
  87.     member(popupMember).color = color(#paletteIndex, 255)
  88.     set the foreColor of line mLine of member popupMember to 210
  89.   end if
  90. end
  91.  
  92. on mouseUp me
  93.   global gSearchObj
  94.   if not me.pIsDisabled then
  95.     if not me.pIsPopped then
  96.       poppedMenu = getPoppedMenu(getMenuBankObj(gSearchObj))
  97.       if objectp(poppedMenu) then
  98.         contract(poppedMenu)
  99.       end if
  100.       expand(me)
  101.     else
  102.       mLine = the mouseLine
  103.       if mLine > 0 then
  104.         pIsComplete = 1
  105.         popupMember = the memberNum of sprite pkAndOrSprite
  106.         setText(me, line mLine of the text of field popupMember)
  107.         setSelection(me, mLine)
  108.         contract(me)
  109.       end if
  110.     end if
  111.   end if
  112. end
  113.  
  114. on performFunction me
  115.   nothing()
  116. end
  117.